package virtualapp

import (
	"net/http"
)

var (
//tableKeyServiceName = "TableKey" //表主键服务名称

// registWg         sync.WaitGroup                //同步原语,要保证所有的添加都已经完成
// registWrite      sync.Mutex                    //保存锁
// controllerMap    = make(map[string]Controller) //注册的业务模块集合
// serviceMap       = make(map[string]Service)    //注册的业务模块集合
// idValuePrefixMap = make(map[string]string)     //注册的业务模块对应的 记录编号值前缀,此属性用于给id字段添加前缀,以便于在分布式系统中进行数据合并
)

// 取当前用户
func CurrentLoginUserId(r *http.Request) string {
	header := r.Form
	return header.Get("LoginUserId")
}

// 取新ID
func GetNewId(iLength int, TableName string) string {
	// service := GetService(tableKeyServiceName)
	// if service == nil {
	// 	if !IsCloudApp() { //如果不是分布式系统,则使用本地生成
	// 		return u64util.Get()
	// 	}

	// 	Log.Error("未找到对应的主键管理服务'" + tableKeyServiceName + "'")
	// 	return "0"
	// }

	// result := reflectutil.DoMethod(service, "GetNewId", iLength, TableName)
	// me := result[0].Interface()

	// return me.(string)

	return ""
}

// /**
//  * 取得已注册业务模块
//  * @param name 业务模块名称
//  * @return 业务模块
//  */
// func GetService(name string) Service {
// 	registWg.Wait() // 等待所有变量添加完毕

// 	name = strings.TrimSpace(name)
// 	if name == "" {
// 		return nil
// 	}

// 	result, ok := serviceMap[name]
// 	if !ok {
// 		return nil
// 	}

// 	return result
// }
